package com.hu.common.common;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 统一接口返回包装类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
    private String code;
    private String msg;
    private Object data;

    // 没有数据的成功：无参构造器
    public static Result success() {
        return new Result("200", "", null);
    }

    // 有数据的成功：有参构造器
    // 比如，登录成功后，后端调Result的这个构造器，把用户信息放进来，new出来Result对象，再返回给前端
    public static Result success(Object data) {
        return new Result("200", "成功", data);
    }

    // 这个构造器可以自定义msg
    public static Result success(Object data, String msg) {
        return new Result("200", msg, data);
    }

    public static Result error(Integer code, String msg) {
        return new Result("500", msg, null);
    }

    public static Result error() {
        return new Result("500", "系统错误", null);
    }
}
